<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Matinicial extends MN_Controller {

    function __construct() {
        parent::__construct();
        $this->load->database();
        $this->load->helper(array('url', 'form'));
        $this->load->library('ion_auth');
        $this->load->library('session');
        $this->load->model('Periodos_Model');
        $this->load->model('Docente_Model');
        $this->load->model('Pensum_Model');
        $this->load->model('Carrera_Model');
        $this->load->model('Ciclos_Model');
        $this->load->model('Materia_Model');
        $this->load->model('Estudiante_Model');
        $this->load->model('Distributivo_Model');
    }

    public function index() {

        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();
    }

    public function inicio() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $this->data['periodos'] = $this->Periodos_Model->getListado();
        $periodo = $this->uri->segment(3);
        $this->session->unset_userdata('ses_matinicio');
        //$this->session->sess_destroy();
        $periodo_terminado=FALSE;


        if (!empty($periodo) && $periodo != -1) {


            $this->data['ide_per'] = $periodo;
                $fecha_now=strtotime(date("Y-m-d"), 0);
                $datos_per=$this->Periodos_Model->getDatosPeriodo($periodo);
                $fecha_bim1=strtotime($datos_per[0]['ffinextraordinaria_lec'],0);
                $periodo_terminado=($fecha_now>=$fecha_bim1?(($this->data['user']=="carlabenitez"||$this->data['user']=="karlarodriguez")?FALSE:TRUE):FALSE);
                $this->data['inscritos'] = $this->Matricula_Model->getMatriculadosPorSemestre($periodo, 0, 3);
                    
            
        } else {
            $this->data['ide_per'] = -1;
        }

        if (isset($_POST['btn1'])) {
            //$cod=$this->input->post('ide_pen');

            $carr = $this->Carrera_Model->getDatosCarrera($ide_car);
            $this->data['nom_car'] = $carr[0]['nombre_car'];
            $this->data['ide_lec'] = $periodo['ide_lec'];
        }
        if (!$periodo_terminado)
            $this->_render('matinicial/start');
        else{
            $this->data['msj_del']="EL PERIODO DE MATRICULAS HA TERMINADO.";
            $this->data['tit_del']="MATRICULACION";
            $this->data['volver']="matinicial/inicio";

            $this->_render('template/msj_error');

            }
        
        
    }

    public function crear() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->data['carrera'] = $this->Carrera_Model->getListado();


        if ($this->session->userdata('ses_matinicio') == FALSE) {
            
            $this->load->model('Matricula_Model');
            $this->load->model('Cursa_Model');

            $ide_per = $this->uri->segment(3);
            $id_matr = $this->uri->segment(4);
            $ide_pers = $this->uri->segment(5);
            $opc = $this->uri->segment(6);
            $opc = (!empty($opc) ? $opc : "new");
            $cursa = $this->Cursa_Model->getDatosCursa($id_matr);

            $this->data['periodos'] = $this->Periodos_Model->getDatosPeriodo($ide_per);
            $this->data['estudiantes'] = $this->Estudiante_Model->getDatosEstudiante($ide_pers);
            $periodo = $this->data['periodos'][0];
            $ses_matr = array(
                'ide_per' => $ide_per, 'id_matr' => $id_matr,
                'ide_pers' => $ide_pers, 'opc' => $opc);
            $this->session->set_userdata('ses_matinicio', $ses_matr);
            $this->data['ide_car'] = $cursa[0]['ide_car'];
            //$this->data['ide_car'] = $ide_car;
            $this->data['ide_pen'] = $cursa[0]['ide_pen'];
            $this->data['pensum'] = $this->Pensum_Model->getPensumCarreras($cursa[0]['ide_car']);

            $this->data['codigo_cic'] = $cursa[0]['ide_cic'];
            $this->data['ciclo'] = $this->Ciclos_Model->getCicloPensumPrimero($cursa[0]['ide_pen']);
            $this->data['seccion'] = $cursa[0]['seccion'];
            $this->data['paralelo'] = $cursa[0]['paralelo'];
            $this->data['cambio'] = 0;
            $this->data['opc'] = $opc;
            //$this->data['modo_mat'] = $this->Matricula_Model->getModo_mat($id_matr);
            $this->_render('matinicial/new');
        } else {

            $ses_matr = $this->session->userdata('ses_matinicio');
            $ide_per = $ses_matr['ide_per'];
            $ide_pers = $ses_matr['ide_pers'];
            $opc = $ses_matr['opc'];

            $this->data['periodos'] = $this->Periodos_Model->getDatosPeriodo($ide_per);
            $this->data['estudiantes'] = $this->Estudiante_Model->getDatosEstudiante($ide_pers);
            $periodo = $this->data['periodos'][0];
            $id_matr = $ses_matr['id_matr'];
            $this->data['cambio'] = 1;

            $ide_car = $this->uri->segment(3);
            $ide_pen = $this->uri->segment(4);
            $codigo_cic = $this->uri->segment(5);
            $seccion = $this->uri->segment(6);
            $paralelo = $this->uri->segment(7);

            if (!empty($ide_car) && $ide_car != -1) {
                $this->data['pensum'] = $this->Pensum_Model->getPensumCarreras($ide_car);
                $this->data['ide_car'] = $ide_car;
            } else {
                $this->data['ide_car'] = -1;
            }
            if (!empty($ide_pen) && $ide_pen != -1) {
                $this->data['ciclo'] = $this->Ciclos_Model->getCicloPensumPrimero($ide_pen);
                $this->data['ide_pen'] = $ide_pen;
            } else {
                $this->data['ide_pen'] = -1;
            }
            if (!empty($codigo_cic) && $codigo_cic != -1) {
                $this->data['codigo_cic'] = $codigo_cic;
            } else {
                $this->data['codigo_cic'] = -1;
            }

            if (!empty($seccion) && $seccion != -1) {
                //$this->data['materias'] = $this->Materia_Model->getMateriaCiclo($codigo_cic, $periodo['ide_lec'], $seccion);
                $this->data['seccion'] = $seccion;
            } else {
                $this->data['seccion'] = -1;
            }

            if (!empty($paralelo) && $paralelo != -1) {
                $this->data['docentes'] = $this->Docente_Model->getListado();
                $this->data['materias'] = $this->Materia_Model->getMateriaCiclo($codigo_cic, $periodo['ide_lec'], $seccion, $paralelo);
                $this->data['paralelo'] = $paralelo;
            } else {
                $this->data['paralelo'] = -1;
            }
            $this->data['modo_mat'] = 1;
            $this->data['opc'] = $opc;
            $this->_render('matinicial/new');
        }
    }

    public function procesar() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $this->load->model('Cursa_Model');
        
        if (!isset($_POST['cambio'])){
            
            $id_matr = $this->uri->segment(3);  
            $cursa = $this->Cursa_Model->getDatosCursa($id_matr);
            $ide_lec = $this->Periodos_Model->getDatosPeriodo($cursa[0]['periodos_lectivos_ide_lec']);
            $ide_car = $this->Carrera_Model->getDatosCarrera($cursa[0]['ide_car']);
            $ide_pen = $this->Pensum_Model->getDatosPensum($cursa[0]['ide_pen']);
            $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($cursa[0]['ide_cic']);
            $seccion = $cursa[0]['seccion'];
            $paralelo = $cursa[0]['paralelo'];
            $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);
            //print_r($ide_lec);


        }else{
            $ses_matr = $this->session->userdata('ses_matinicio');
            $id_matr = $ses_matr['id_matr'];
            //$ide_pers = $ses_matr['ide_pers'];
            $cursa = $this->Cursa_Model->getDatosCursa($id_matr);
            
            //$ses_matr = $this->session->userdata('ses_matinicio');
            //$id_matr = $ses_matr['id_matr'];
            //$cursa = $this->Cursa_Model->getDatosCursa($id_matr);
           if ($this->input->post('cambio') == 0) {


            $ide_lec = $this->Periodos_Model->getDatosPeriodo($cursa[0]['periodos_lectivos_ide_lec']);
            $ide_car = $this->Carrera_Model->getDatosCarrera($cursa[0]['ide_car']);
            $ide_pen = $this->Pensum_Model->getDatosPensum($cursa[0]['ide_pen']);
            $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($cursa[0]['ide_cic']);
            $seccion = $cursa[0]['seccion'];
            $paralelo = $cursa[0]['paralelo'];

            $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);

        } else {

            $seccion = $this->input->post('seccion');
            $paralelo = $this->input->post('paralelo');
            $ide_lec = $this->Periodos_Model->getDatosPeriodo($this->input->post('ide_lec'));
            $ide_car = $this->Carrera_Model->getDatosCarrera($this->input->post('ide_car'));
            $ide_pen = $this->Pensum_Model->getDatosPensum($this->input->post('ide_pen'));
            $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($this->input->post('codigo_cic'));
            $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);

            //$this->data['estudiante'] = $this->Estudiante_Model->getDatosEstudiante($cod_pers);
            //$this->data['ide_lec'] = $ide_lec[0]['ide_lec'];
            //$this->data['ide_car'] = $ide_car[0]['ide_car'];
            //$this->data['ide_pen'] = $ide_pen[0]['ide_pen'];
            //$this->data['ide_ciclo'] = $ide_ciclo[0]['ide_cic'];
            //$this->data['seccion'] = $seccion;

            //$this->data['ide_lec_nom'] = $ide_lec[0]['descripcion_lec'];
            //$this->data['ide_car_nom'] = $ide_car[0]['nombre_car'];
            //$this->data['ide_pen_nom'] = $ide_pen[0]['descripcion_pen'];
            //$this->data['ide_ciclo_nom'] = $ide_ciclo[0]['nombre_cic'];

            //$this->data['seccion_nom'] = ($seccion == 1 ? "DIURNO" : ($seccion == 2 ? "NOCTURNO" : "FINES DE SEMANA"));
            //$this->data['paralelo_nom'] = $paralelo;



            //$this->data['materias'] = $this->Distributivo_Model->getDatosDistributivo($ide_lec[0]['ide_lec'], $ide_car[0]['ide_car'], $ide_pen[0]['ide_pen'], $ide_ciclo[0]['codigo_cic'], $seccion, $paralelo, $ide_mat = null);
            //$this->data['seccion'] = $seccion;
            //$this->data['paralelo'] = $paralelo;
        }

            
        }
        
            $this->data['materias'] = $this->Distributivo_Model->getDatosDistributivo($ide_lec[0]['ide_lec'], $ide_car[0]['ide_car'], $ide_pen[0]['ide_pen'], $ide_ciclo[0]['codigo_cic'], $seccion, $paralelo, $ide_mat = null);
            $this->data['estudiante'] = $this->Estudiante_Model->getDatosEstudiante($cod_pers);
            $this->data['ide_lec'] = $ide_lec[0]['ide_lec'];
            $this->data['ide_car'] = $ide_car[0]['ide_car'];
            $this->data['ide_pen'] = $ide_pen[0]['ide_pen'];
            $this->data['ide_ciclo'] = $ide_ciclo[0]['ide_cic'];
            $this->data['seccion'] = $seccion;

            $this->data['ide_lec_nom'] = $ide_lec[0]['descripcion_lec'];
            $this->data['ide_car_nom'] = $ide_car[0]['nombre_car'];
            $this->data['ide_pen_nom'] = $ide_pen[0]['descripcion_pen'];
            $this->data['ide_ciclo_nom'] = $ide_ciclo[0]['nombre_cic'];

            $this->data['seccion_nom'] = ($seccion == 1 ? "DIURNO" : ($seccion == 2 ? "NOCTURNO" : "FINES DE SEMANA"));
            $this->data['paralelo_nom'] = $paralelo;
            $this->data['paralelo'] = $paralelo;

        //$this->data['inscrito'] = $this->Matricula_Model->getDatosMatricula($id_matr);


        $nro_mat = $this->Matricula_Model->getNroMatricula($cursa[0]['periodos_lectivos_ide_lec']);
        $this->data['nro_mat'] = $nro_mat + 1;

        $nro_cup = $this->Cursa_Model->getCupo($cursa[0]['periodos_lectivos_ide_lec'], $cursa[0]['ide_car'], $cursa[0]['ide_pen'], $cursa[0]['ide_cic'], $seccion, $paralelo);
        $this->data['nro_cup'] = $nro_cup + 1;

        $this->data['ide_matr'] = $id_matr;
        $this->data['cambio'] = $this->input->post('cambio');


        $this->_render('matinicial/procesoi');
    }

    public function procesarm() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $this->load->model('Cursa_Model');
        //$opc = $this->uri->segment(3);
        //$id_matr = $this->uri->segment(4);
        //$id_matr = $this->uri->segment(3);
        if ($this->input->post('cambio') == 0) {

            $ses_matr = $this->session->userdata('ses_matinicio');
            $id_matr = $ses_matr['id_matr'];
            //$ide_pers = $ses_matr['ide_pers'];
            $cursa = $this->Cursa_Model->getDatosCursa($id_matr);


            $ide_lec = $this->Periodos_Model->getDatosPeriodo($cursa[0]['periodos_lectivos_ide_lec']);
            $ide_car = $this->Carrera_Model->getDatosCarrera($cursa[0]['ide_car']);
            $ide_pen = $this->Pensum_Model->getDatosPensum($cursa[0]['ide_pen']);
            $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($cursa[0]['ide_cic']);
            $seccion = $cursa[0]['seccion'];
            $paralelo = $cursa[0]['paralelo'];

            $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);

            $this->data['materias'] = $this->Distributivo_Model->getDatosDistributivo($ide_lec[0]['ide_lec'], $ide_car[0]['ide_car'], $ide_pen[0]['ide_pen'], $ide_ciclo[0]['codigo_cic'], $seccion, $paralelo, $ide_mat = null);
            $this->data['estudiante'] = $this->Estudiante_Model->getDatosEstudiante($cod_pers);
            $this->data['ide_lec'] = $ide_lec[0]['ide_lec'];
            $this->data['ide_car'] = $ide_car[0]['ide_car'];
            $this->data['ide_pen'] = $ide_pen[0]['ide_pen'];
            $this->data['ide_ciclo'] = $ide_ciclo[0]['ide_cic'];
            $this->data['seccion'] = $seccion;

            $this->data['ide_lec_nom'] = $ide_lec[0]['descripcion_lec'];
            $this->data['ide_car_nom'] = $ide_car[0]['nombre_car'];
            $this->data['ide_pen_nom'] = $ide_pen[0]['descripcion_pen'];
            $this->data['ide_ciclo_nom'] = $ide_ciclo[0]['nombre_cic'];

            $this->data['seccion_nom'] = ($seccion == 1 ? "DIURNO" : ($seccion == 2 ? "NOCTURNO" : "FINES DE SEMANA"));
            $this->data['paralelo_nom'] = $paralelo;
            $this->data['paralelo'] = $paralelo;
        } else {
            $ses_matr = $this->session->userdata('ses_matinicio');
            $id_matr = $ses_matr['id_matr'];
            $cursa = $this->Cursa_Model->getDatosCursa($id_matr);

            $seccion = $this->input->post('seccion');
            $paralelo = $this->input->post('paralelo');
            $ide_lec = $this->Periodos_Model->getDatosPeriodo($this->input->post('ide_lec'));
            $ide_car = $this->Carrera_Model->getDatosCarrera($this->input->post('ide_car'));
            $ide_pen = $this->Pensum_Model->getDatosPensum($this->input->post('ide_pen'));
            $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($this->input->post('codigo_cic'));
            $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);

            $this->data['estudiante'] = $this->Estudiante_Model->getDatosEstudiante($cod_pers);
            $this->data['ide_lec'] = $ide_lec[0]['ide_lec'];
            $this->data['ide_car'] = $ide_car[0]['ide_car'];
            $this->data['ide_pen'] = $ide_pen[0]['ide_pen'];
            $this->data['ide_ciclo'] = $ide_ciclo[0]['ide_cic'];
            $this->data['seccion'] = $seccion;

            $this->data['ide_lec_nom'] = $ide_lec[0]['descripcion_lec'];
            $this->data['ide_car_nom'] = $ide_car[0]['nombre_car'];
            $this->data['ide_pen_nom'] = $ide_pen[0]['descripcion_pen'];
            $this->data['ide_ciclo_nom'] = $ide_ciclo[0]['nombre_cic'];

            $this->data['seccion_nom'] = ($seccion == 1 ? "DIURNO" : ($seccion == 2 ? "NOCTURNO" : "FINES DE SEMANA"));
            $this->data['paralelo_nom'] = $paralelo;



            $this->data['materias'] = $this->Distributivo_Model->getDatosDistributivo($ide_lec[0]['ide_lec'], $ide_car[0]['ide_car'], $ide_pen[0]['ide_pen'], $ide_ciclo[0]['codigo_cic'], $seccion, $paralelo, $ide_mat = null);
            $this->data['seccion'] = $seccion;
            $this->data['paralelo'] = $paralelo;
        }
        $this->data['nro_mat'] = $this->Matricula_Model->getNroMatriculaAsignado($id_matr);
        $this->data['fecha_matr'] = $this->Matricula_Model->getFechaMatriculaAsignado($id_matr);
        $this->data['estado_matr'] = $this->Matricula_Model->getEstadoMatAsignado($id_matr);
        $this->data['tipo_matr'] = $this->Matricula_Model->getTipoMatAsignado($id_matr);
        $this->data['tipo_resol_mat'] = $this->Matricula_Model->getResolMatAsignado($id_matr);
        $this->data['forma_pago'] = $this->Matricula_Model->getFormaPagoAsignado($id_matr);

        $this->data['nro_cup'] = $cursa[0]['cupo_cur'];
        $this->data['opc'] = $ses_matr['opc'];
        $this->data['cambio'] = $this->input->post('cambio');

        $this->data['ide_matr'] = $id_matr;



        $this->_render('matinicial/procesom');
    }

    public function ingresodatos() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $this->load->model('Cursa_Model');
        $nro_mat = $this->Matricula_Model->getNroMatricula($this->input->post('ide_lec')) + 1;

        $nro_cup = $this->Cursa_Model->getCupo($this->input->post('ide_lec'), $this->input->post('ide_car'), $this->input->post('ide_pen'), $this->input->post('ide_ciclo'), $this->input->post('seccion'), $this->input->post('paralelo')) + 1;


        //$ide_mat=1;
        $matricula = array(
            "fecha_matr" => date("Y-m-d", strtotime($this->input->post('fecha_matr'), 0)),
            "estado_matr" => 1, //1 - proceso, 2 - aprobado , 3 -negada , 4 - devuelto, 5 - retirado
            "nro_matr" => $nro_mat,
            "inscrip_matr" => 3, // 0=> inscripcion , 1=> inscripcion-matricula,3=>matricula primero,4=>matricula los demas
            "forma_pago" => $this->input->post('forma_pago'), //utilizado para becas
            "tipo_resol_mat" => $this->input->post('tipo_resol_mat'), //0=> NIN , 1=> ACAD 2=>DISCAP 3=>CONSEJO 4=>SNIESE
            "tipo_matr" => $this->input->post('tipo_matr'), //1 - ordinaria, 2 -extra , 3 - especial 
            "modo_mat" => 1, // aqui no se usa 1 (normal) sirve para identi ficar si las materias son normales o por arrastres
            "observ_mat" => $this->input->post('observa_cur'),
        );
        //print_r($matricula);
        $this->Matricula_Model->actualizaMatricula($matricula, $this->input->post('ide_matr'));
        if ($this->input->post('cambio') == 0) {
            $this->Cursa_Model->actualizaCupo($nro_cup, $this->input->post('ide_matr'));
        } else {
            $this->Cursa_Model->eliminaFisicaCursa($this->input->post('ide_matr'));

            $nro_filas = $this->input->post('nro_filas');

            if ($nro_filas > 0) {
                for ($i = 1; $i <= $nro_filas; $i++) {

                    $cursa = array(
                        "periodos_lectivos_ide_lec" => $this->input->post('ide_lec'),
                        "ide_car" => $this->input->post('ide_car'),
                        "ide_pen" => $this->input->post('ide_pen'),
                        "ide_cic" => $this->input->post('ide_ciclo'),
                        "materia_ide_mat" => $this->input->post('ide_mat' . ($i - 1)),
                        "docente_ide_doc" => $this->input->post('ide_doc' . ($i - 1)),
                        "matriculas_id_matr" => $this->input->post('ide_matr'),
                        "seccion" => $this->input->post('seccion'),
                        "paralelo" => $this->input->post('paralelo'),
                        "estudiante_ide_est" => $this->input->post('ide_est'),
                        "estado_cur" => 0, // 0 - activa, 1 pendiente ,2 - aprobada, 3  -reprobada
                        "cant_cur" => 0, //numero veces que reprueba 
                        "cupo_cur" => $nro_cup, //cupo
                        "reasig_arrastre_cur" => 0,
                        "observa_cur" => "NINGUNA",
                        "eliminado" => 0);
                    //print_r($cursa);


                    $this->Cursa_Model->grabarCursa($cursa);

                    //print_r($cursa);
                }
            }
        }

        redirect('matinicial/inicio');
    }

    public function modificadatos() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();
        $this->load->model('Matricula_Model');
        $this->load->model('Cursa_Model');
        $opc = $this->input->post('opc');
        $id_matr = $this->input->post('ide_matr');


        $matricula = array(
            "fecha_matr" => date("Y-m-d", strtotime($this->input->post('fecha_matr'), 0)),
            "estado_matr" => $this->input->post('estado_matr'), //1 - proceso, 2 - aprobado , 3 -negada , 4 - devuelto
            "nro_matr" => $this->input->post('nro_matr'),
            "inscrip_matr" => 3, // 0=> inscripcion , 1=> inscripcion-matricula,3=>matricula primero,4=>matricula los demas
            "forma_pago" => $this->input->post('forma_pago'), //utilizado para becas
            "tipo_resol_mat" => $this->input->post('tipo_resol_mat'), //0=> NIN , 1=> ACAD 2=>DISCAP 3=>CONSEJO 4=>SNIESE
            "tipo_matr" => $this->input->post('tipo_matr'), //1 - ordinaria, 2 -extra , 3 - especial 
            "modo_mat" => 1, // aqui no se usa 1 (normal) sirve para identi ficar si las materias son normales o por arrastres
            "observ_mat" => $this->input->post('observa_cur'),
        );
        //print_r($matricula);
        if ($opc == 'upd') {
            if ($this->input->post('cambio') == 0) {
                //$this->Cursa_Model->actualizaCupo($this->input->post('cupo_cur'), $this->input->post('ide_matr'));
                $this->Matricula_Model->actualizaMatricula($matricula, $id_matr);
                $this->Cursa_Model->actualizaCupo($this->input->post('cupo_cur'), $id_matr);
                $this->Cursa_Model->actualizaSeccion($this->input->post('seccion'), $id_matr);
                $this->Cursa_Model->actualizaParalelo($this->input->post('paralelo'), $id_matr);
                
            } else {
                $nro_cup = $this->Cursa_Model->getCupo($this->input->post('ide_lec'), $this->input->post('ide_car'), 
                        $this->input->post('ide_pen'), $this->input->post('ide_ciclo'), $this->input->post('seccion'), 
                        $this->input->post('paralelo')) + 1;

                

                $nro_filas = $this->input->post('nro_filas');

                if ($nro_filas > 0) {
                    $this->Cursa_Model->eliminaFisicaCursa($id_matr);
                    for ($i = 1; $i <= $nro_filas; $i++) {

                        $cursa = array(
                            "periodos_lectivos_ide_lec" => $this->input->post('ide_lec'),
                            "ide_car" => $this->input->post('ide_car'),
                            "ide_pen" => $this->input->post('ide_pen'),
                            "ide_cic" => $this->input->post('ide_ciclo'),
                            "materia_ide_mat" => $this->input->post('ide_mat' . ($i - 1)),
                            "docente_ide_doc" => $this->input->post('ide_doc' . ($i - 1)),
                            "matriculas_id_matr" => $id_matr,
                            "seccion" => $this->input->post('seccion'),
                            "paralelo" => $this->input->post('paralelo'),
                            "estudiante_ide_est" => $this->input->post('ide_est'),
                            "estado_cur" => 0, // 0 - activa, 1 pendiente ,2 - aprobada, 3  -reprobada
                            "cant_cur" => 0, //numero veces que reprueba 
                            "cupo_cur" => $nro_cup, //cupo
                            "reasig_arrastre_cur" => 0,
                            "observa_cur" => "NINGUNA",
                            "eliminado" => 0 );


                        $this->Cursa_Model->grabarCursa($cursa);

                        //print_r($cursa);
                        //$this->Distributivo_Model->grabarDistributivo($distributivo);
                        //
                //$this->_render('distributivo/new');
                    }
                }
            }
        } else {
            $elimina = array("id_matr" => $id_matr);
            $this->Matricula_Model->eliminarMatricula($elimina);
            $this->Cursa_Model->eliminarCursa($id_matr);
        }


        redirect('matinicial/inicio');
    }

    public function preinscritos() {

        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->session->unset_userdata('ses_matinicio');
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $periodo = $_POST['ide_per'];
        $this->data['ide_per'] = $periodo;
        $this->data['inscritos'] = $this->Matricula_Model->getInscritosPorSemestre($periodo, 2, 1); // 1 solo inscritos
        //print_r("periodo".$periodo);
        $this->_render('matinicial/lista_inscritos');
    }

    public function ficha() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $this->load->model('Cursa_Model');
        $id_matr = $this->uri->segment(3);


        $this->data['inscrito'] = $this->Matricula_Model->getDatosMatricula($id_matr);

        $cursa = $this->Cursa_Model->getDatosCursa($id_matr);


        $ide_lec = $this->Periodos_Model->getDatosPeriodo($cursa[0]['periodos_lectivos_ide_lec']);
        $ide_car = $this->Carrera_Model->getDatosCarrera($cursa[0]['ide_car']);
        $ide_pen = $this->Pensum_Model->getDatosPensum($cursa[0]['ide_pen']);
        $ide_ciclo = $this->Ciclos_Model->getDatosCiclo($cursa[0]['ide_cic']);
        $seccion = $cursa[0]['seccion'];
        $paralelo = $cursa[0]['paralelo'];

        $cod_pers = $this->Estudiante_Model->getDatosIdePers($cursa[0]['estudiante_ide_est']);

        $this->data['materias'] = $this->Distributivo_Model->getDatosDistributivo($ide_lec[0]['ide_lec'], $ide_car[0]['ide_car'], $ide_pen[0]['ide_pen'], $ide_ciclo[0]['ide_cic'], $seccion, $paralelo, $ide_mat = null);
        $this->data['estudiante'] = $this->Estudiante_Model->getDatosEstudiante($cod_pers);
        $this->data['ide_lec'] = $ide_lec[0]['ide_lec'];
        $this->data['ide_car'] = $ide_car[0]['ide_car'];
        $this->data['ide_pen'] = $ide_pen[0]['ide_pen'];
        $this->data['ide_ciclo'] = $ide_ciclo[0]['ide_pen'];
        $this->data['seccion'] = $seccion;
        $modo_mat= $this->Matricula_Model->getModo_mat($id_matr);
        

        $this->data['ide_lec_nom'] = $ide_lec[0]['descripcion_lec'];
        $this->data['ide_car_nom'] = $ide_car[0]['nombre_car'];
        $this->data['ide_pen_nom'] = $ide_pen[0]['descripcion_pen'];
        $this->data['ide_ciclo_nom'] = ($modo_mat==1?$ide_ciclo[0]['nombre_cic']:
                             ($modo_mat==2?$ide_ciclo[0]['nombre_cic']:
                             ($modo_mat==3?"CONVALIDA":($modo_mat==4?"ARRASTRES":"POR MATERIAS"))));

        $this->data['seccion_nom'] = ($seccion == 1 ? "DIURNO" :( $seccion == 2 ? "NOCTURNO" : "FINES DE SEMANA"));
        $this->data['paralelo_nom'] = $paralelo;
        //$this->data['nro_mat'] = $[0][''];

        $this->data['nro_cup'] = $cursa[0]['cupo_cur'];

        $this->data['id_matr'] = $id_matr;
        

        $html = $this->load->view('matinicial/ficha', $this->data, true);
        $path = $this->dompdf_lib->createPDF($html, 'ficha', false);
        $this->data['path'] = $path;
        $this->_render('matinicial/reporte');
    }

    function presearch() {
        if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();

        $this->load->model('Matricula_Model');
        $who = $this->input->post('txtsearch');
        if (empty($who))
            redirect("matinicial/inicio");
        else {

            $this->data['periodos'] = $this->Periodos_Model->getListado();
            $periodo = $this->uri->segment(3);


            if (!empty($periodo) && $periodo != -1) {

                $this->data['ide_per'] = $periodo;
                $this->data['inscritos'] = $this->Matricula_Model->getMatriculadosPorSemestreCriterio($who, $this->input->post('tipo_busqueda'), $periodo, 0, 3);
            } else {
                $this->data['ide_per'] = -1;
            }
            //echo "el periodo es".$periodo;
            //redirect("inscripcion/inicio/");
            $this->_render('matinicial/start');

            //$this->_render('inscripcion/start/$periodo');
        }
    }
      function presearchInscritos() {
      if (!$this->ion_auth->logged_in() || (!$this->ion_auth->is_admin() && !$this->ion_auth->is_secretary())  ) {
            $this->session->set_flashdata('message', 'No pertence al grupo de Docentes');
            redirect('auth/login', 'refresh');
        }
        $this->data['user'] = $this->ion_auth->get_user_username();
        
        $this->load->model('Matricula_Model');

        $who = $this->input->post('txtsearch');
        if (empty($who))
            redirect("matinicial/inicio");
        else {

            //$periodo = trim($_POST['ide_per']);
            $periodo = $this->uri->segment(3);
            $this->data['ide_per'] = $periodo;
            
            $this->data['inscritos'] = $this->Matricula_Model->getInscritosPorSemestreCriterio($who, $this->input->post('tipo_busqueda'),$periodo, 2, 1); // 1 solo inscritos
            //$this->data['inscritos'] = $this->Matricula_Model->getMatriculadosPorSemestreAnteriorCriterio($who, $this->input->post('tipo_busqueda'),$periodo-1,$periodo); // 1 solo inscritos

            $this->data['periodos'] = $this->Periodos_Model->getListado();
            $this->_render('matinicial/lista_inscritos');

            //$this->_render('inscripcion/start/$periodo');
        }
    }

    

}
